package com.micro.plugins.mapper.special.mapper;

import com.micro.plugins.mapper.special.provider.UpdateListAllColsProvider;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.UpdateProvider;
import tk.mybatis.mapper.annotation.RegisterMapper;

/**
 * @desc 批量更新对象 所有字段
 * @author LevelCoder
 * @version V1.0.0
 * @email LevelCoder@126.com
 * @date 2019/11/7
 */
@RegisterMapper
public interface UpdateListAllColsMapper<T> {

    /**
     * 批量更新数据库，所有字段都更新，包括null,依赖于主键
     * @param o
     * @return
     */
    @Options(useCache = false, useGeneratedKeys = false)
    @UpdateProvider(type = UpdateListAllColsProvider.class, method = "updateListAllCols")
    int updateListAllCols(Object o);
}
